package netty.demo_03_HTTP;

import io.netty.channel.ChannelInitializer;
import io.netty.channel.ChannelPipeline;
import io.netty.channel.socket.SocketChannel;
import io.netty.handler.codec.http.HttpServerCodec;
import io.netty.handler.codec.string.StringDecoder;
import io.netty.handler.codec.string.StringEncoder;

import java.nio.charset.Charset;

/**
 * 快速入门实例-HTTP服务
 * 服务端-Handler 初始化器
 *
 * @author chenyuan
 * @date 2020/11/7 15:23
 */
public class HttpServerInitializer extends ChannelInitializer<SocketChannel> {

	@Override
	protected void initChannel(SocketChannel socketChannel) throws Exception {
		// 向管道加入处理器
		// 得到管道
		ChannelPipeline pipeline = socketChannel.pipeline();

		// 加入一个 Netty 提供的 httpServerCodec （CoDec => Coder + Decoder => 编解码器）
		pipeline.addLast("MyHttpServerCodec", new HttpServerCodec());
		// 增加一个自己的 Handler
		pipeline.addLast("MyServerHandler", new HttpServerHandler());
	}
}
